<HTML>
<HEAD>
<TITLE>JavaScript Source Code 3000:  BG Effects:  Random Images</TITLE>
<META HTTP-EQUIV="JavaScript Source Code 3000" CONTENT = "no-cache">
<META NAME="date" CONTENT="2000-09-09">
<META NAME="channel" CONTENT="Web Developer">
<META NAME="author" CONTENT="Tim Wallace">
<META NAME="section" CONTENT="BG Effects">
<META NAME="description" CONTENT="As an alternative to background colors and random background colors, JavaScript allows you to have random background images.  Just take a look at the background of this script's example page then hit reload.  Notice anything?  Ah, chalk another one up to JavaScript.">

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Tim Wallace -->
<!-- Begin
today=new Date();
jran=today.getTime();
var number = 7;
var random_number="";
var image="";
var text_color="";
// Random number generating scheme.
ia=9301;
ic=49297;
im=233280;
jran = (jran*ia+ic) % im;
random_number = Math.ceil( (jran/(im*1.0)) *number);
// Loads the appropriate image and text color based on random number.
if (random_number==1) {
text_color="000000";
image="../img/backgrounds/paper.gif";
}
if (random_number==2) {
text_color="000000";
image="../img/backgrounds/wood.gif";
}
if (random_number==3) {
text_color="000000";
image="../img/backgrounds/clouds.gif";
}
if (random_number==4) {
text_color="000000";
image="../img/backgrounds/faces.gif";
}
if (random_number==5) {
text_color="000000";
image="../img/backgrounds/marble.gif";
}
if (random_number==6) {
text_color="000000";
image="../img/backgrounds/question.gif";
}
if (random_number==7) {
text_color="000000";
image="../img/backgrounds/plain.gif";
}
// End -->
</SCRIPT>
</HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- Begin
document.open();
document.write("<BODY BACKGROUND='"+image+"' TEXT='"+text_color+"' vlink=#0000ff>");
document.write("<CENTER></CENTER>");
// End -->
</SCRIPT>
 
<BR>
<center>
<table width="600" cellpadding="0" cellspacing="10">
<tr>
<td width="468" align="center">

	
</td>
<td width="120" align="center">

	
</td>
</tr>
</table>
<BR>
<BR>
<BASEFONT SIZE=3>
  <FONT SIZE=6>
<B><FONT SIZE="+2" FACE="Helvetica,Arial" ALIGN=RIGHT COLOR="#0000FF">
<b><A HREF="../index.htm" /" TARGET="_top">
Home</A> </b><img src="../img/arrow.gif" /img/arrow.gif" height=13 width=7 border=0 alt="}"> <b><A HREF="index.htm" /bgeffects/"><font color="#FF0000">Background Effects</font></A> </b>
<img src="../img/arrow.gif" /img/arrow.gif" height=13 width=7 border=0 alt="}"> <FONT COLOR="#006666">Random Images</FONT></b></FONT><BR>

</B><BR>
  </FONT>
<table BORDER=0 WIDTH=486 CELLPADDING=3 CELLSPACING=0>
<tr><td><font FACE="helvetica,arial,geneva">
<br>
<br>
<!-- Description --><!--content_start-->
<!--content_start-->

As an alternative to background colors and random background colors, JavaScript allows you to have random background images.  Just take a look at the background of this page then hit reload.  Notice anything?  Ah, chalk another one up to JavaScript.
<br>
<hr>
</td></tr>
</table>
<!-- Demonstration -->
<FORM>
<INPUT  TYPE="button" VALUE="Reload  Page" onClick="window.location='r-images.html'">
</FORM>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
document.write("<CENTER><FONT SIZE=-1>Background Image:&nbsp;("+image+")</FONT></CENTER>");
// End -->
</SCRIPT>
<P>
<P>
<a name="source">
<table BORDER=0 WIDTH=486 CELLPADDING=3 CELLSPACING=0>
<tr><td BGCOLOR=yellow><font FACE="helvetica,arial,geneva"><b>JavaScript Source Code 3000:  BG Effects:  Random Images</b>
<p>Simply click inside the window below, use your cursor to highlight the script, and copy (type Control-c or Apple-c) the script into a new file in your text editor (such as Note Pad or Simple Text) and save (Control-s or Apple-s).  The script is yours!!!<br><br></font></td></tr>
<tr><td BGCOLOR=yellow ALIGN=CENTER>
<form NAME="copy">

<DIV align="center">
<input type=button value="Highlight All" onClick="javascript:this.form.txt.focus();this.form.txt.select();">&nbsp;&nbsp;&nbsp;&nbsp;
<INPUT TYPE="text" NAME="total" VALUE="Script Size:  2.38 KB  " size="24">
</DIV>

<textarea NAME="txt" ROWS=20 COLS=75 WRAP=VIRTUAL>

&lt;!-- FOUR STEPS TO INSTALL RANDOM IMAGES:

   1.  Paste the first code into the HEAD of your HTML document
   2.  Add the onLoad event handler to the BODY tag
   3.  Place the last script in the BODY of your HTML document
   4.  Save the 7 background images to your directory  --&gt;
	    
&lt;!-- STEP ONE:  Paste this code into HEAD of your document  --&gt;
 
&lt;HEAD&gt;

&lt;SCRIPT LANGUAGE="JavaScript"&gt;
&lt;!-- Original:  Tim Wallace --&gt;

&lt;! &gt;
&lt;! &gt;

today=new Date();
jran=today.getTime();
var number = 7;
var random_number="";
var image="";
var text_color="";
ia=9301;
ic=49297;
im=233280;
jran = (jran*ia+ic) % im;
random_number = Math.ceil( (jran/(im*1.0)) *number);
// Loads the appropriate image and text color based on random number.
if (random_number==1) {
text_color="000000";
image="paper.gif";
}
if (random_number==2) {
text_color="000000";
image="wood.gif";
}
if (random_number==3) {
text_color="000000";
image="clouds.gif";
}
if (random_number==4) {
text_color="000000";
image="faces.gif";
}
if (random_number==5) {
text_color="000000";
image="marble.gif";
}
if (random_number==6) {
text_color="000000";
image="question.gif";
}
if (random_number==7) {
text_color="000000";
image="plain.gif";
}
// End --&gt;
&lt;/SCRIPT&gt;
&lt;/HEAD&gt;

&lt;!-- STEP TWO: Add this onLoad event handler to the BODY tag --&gt;

&lt;SCRIPT LANGUAGE="JavaScript"&gt;

&lt;!-- Begin
document.open();
document.write("&lt;BODY  BACKGROUND='"+image+"' TEXT='"+text_color+"'&gt;");
document.write("&lt;CENTER&gt;&lt;/CENTER&gt;");
// End --&gt;
&lt;/SCRIPT&gt;

&lt;!-- STEP THREE:  Place this script in the BODY of the HTML document  --&gt;

&lt;BODY&gt;

&lt;FORM&gt;
&lt;INPUT  TYPE="button" VALUE="Reload  Page" onClick="window.location='r-images.html'"&gt;
&lt;/FORM&gt;
&lt;SCRIPT LANGUAGE="JavaScript"&gt;
&lt;!-- Begin
document.write("&lt;CENTER&gt;Background Image:&nbsp;&lt;FONT SIZE=-1&gt;("+image+")&lt;/FONT&gt;&lt;/CENTER&gt;");
// End --&gt;
&lt;/SCRIPT&gt;

&lt;!-- STEP FOUR: Save the 7 background images to your directory --&gt;

 

&lt;!-- Script Size:  2.38 KB  --&gt;
</textarea><br><font FACE="helvetica,arial,geneva"></font></td></tr>

</table>
</form>
	

<p>

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function getCookieVal (offset) {
var endstr = document.cookie.indexOf(";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0)
break;
}
return null;
}
function SetCookie (name, value) {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = "/"; //(argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" +
expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}

var emailcookie = GetCookie('email_address');
if (emailcookie == null) {
emailcookie = 'your email here';
}

function chk(email, formname)
{
invalid = "";

if (!email)
invalid = "No email address found!  Try reloading the page then use the 'email a script' feature again.";

else {

if ( (email.indexOf("@") == -1) || (email.indexOf(".") == -1) ) 
invalid += "\n\nInvalid email address.  Your email address is missing an '@' sign and a '.' in the domain name (like '.com').  Please check your address then submit again.";

if (email.indexOf("youremailhere") > -1)
invalid += "\n\nInvalid email address.  Make sure your email address included your username, the '@' sign, and the domain name (like '.com').";

if (email.indexOf("\\") > -1) 
invalid += "\n\nEmail address contains an invalid back-slash (\\) character.  Remove the character and submit again.";

if (email.indexOf("/") > -1) 
invalid += "\n\nEmail address contains an invalid forward-slash (/) character.  Remove the character and submit again.";

if (email.indexOf("'") > -1) 
invalid += "\n\nEmail address contains an invalid apostrophe (') character.  Remove the character and submit again.";

if (email.indexOf("zaz.com.br") > -1) 
invalid += "\n\nPlease do not use an email address that has an autoresponder set up for it.  Thanks.";

if (email.indexOf("!") > -1) 
invalid += "\n\nEmail address contains an invalid exclamation point (!) character.  Remove the character or correct the email address then submit again.";

if ( (email.indexOf(",") > -1) || (email.indexOf(";") > -1) )
invalid += "\n\nPlease only enter one email address in the box at a time.  Remove the extra addresses and submit again.";

if (email.indexOf("?subject") > -1) 
invalid += "\n\nPlease do not add '?subject=...' to your email address.  Scriptbot will send you the script with a pre-defined subject already.  Please remove the '?subject=...' from your email address and submit again.";
}

if (invalid == "")
   {
   var largeExpDate = new Date();
   largeExpDate.setTime(largeExpDate.getTime() + (31 * 24 * 3600 * 1000));
   SetCookie('email_address', email, largeExpDate);
   if (formname == "scriptbot")
      {
      page = "http://javascript.internet.com/sent.html?" + email;
      window.open(page, "AdWindow", "width=650,height=200");
      }
   return true;
}
else 
   { 
   alert("Oops, something is wrong...." + invalid);
   return false;
   }
}

function updateNewsletters() {
with (document.forms["newslettersignup"]) {
emailStr = email.value;
var emailPat=/^(.+)@(.+)$/;
var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"; // remove   ( ) < > @ , ; : \ " . [ ]    */
var validChars="\[^\\s" + specialChars + "\]";
var quotedUser="(\"[^\"]*\")";
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
var atom=validChars + '+';
var word="(" + atom + "|" + quotedUser + ")";
var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
var matchArray=emailStr.match(emailPat);
if (matchArray==null) {
alert("Email address seems incorrect (check @ and .'s)");
return false;;
}
var user=matchArray[1];
var domain=matchArray[2];
if (user.match(userPat)==null) {
alert("The username doesn't seem to be valid.");
return false;
}
var IPArray=domain.match(ipDomainPat);
if (IPArray!=null) {
for (var i=1;i<=4;i++) {
if (IPArray[i]>255) {
alert("Destination IP address is invalid!");
return false;
      }
   }
}
var domainArray=domain.match(domainPat);
if (domainArray==null) {
alert("The domain name doesn't seem to be valid.");
return false;
}
var atomPat=new RegExp(atom,"g");
var domArr=domain.match(atomPat);
var len=domArr.length;
if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3) {
alert("The address must end in a three-letter domain, or two letter country.");
return false;
}
if (len<2) {
var errStr="This address is missing a hostname!";
alert(errStr);
return false;
}
List_Name.value = newsletter.options[newsletter.selectedIndex].value
		+ nltype.options[nltype.selectedIndex].value;

   var largeExpDate = new Date();
   largeExpDate.setTime(largeExpDate.getTime() + (31 * 24 * 3600 * 1000));
   SetCookie('email_address', emailStr, largeExpDate);

return true;
   }
}
// End -->
</script>

<p>
<center>

<table cellpadding=0 cellspacing=0 border=0 width="620">
<tr>
<td align=left>

